package com.wondertek.onvif.dto;

import com.wondertek.onvif.service.OnvifDiscoveryService;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 添加发现设备请求DTO
 * 
 * @author wondertek
 * @version 1.0.0
 */
public class AddDiscoveredDeviceRequest {
    
    /**
     * 发现的设备信息（可选，用于完整的设备发现流程）
     */
    private OnvifDiscoveryService.DiscoveredDevice discoveredDevice;
    
    /**
     * ONVIF用户名
     */
    private String username;
    
    /**
     * ONVIF密码
     */
    private String password;
    
    /**
     * 自定义设备名称（可选）
     */
    private String customName;
    
    /**
     * 设备描述（可选）
     */
    private String description;
    
    /**
     * 设备名称（简化模式使用）
     */
    private String name;
    
    /**
     * IP地址（简化模式使用）
     */
    private String ipAddress;
    
    /**
     * 端口号（简化模式使用）
     */
    private Integer port;
    
    /**
     * 厂商（简化模式使用）
     */
    private String manufacturer;
    
    /**
     * 型号（简化模式使用）
     */
    private String model;
    
    public OnvifDiscoveryService.DiscoveredDevice getDiscoveredDevice() {
        return discoveredDevice;
    }
    
    public void setDiscoveredDevice(OnvifDiscoveryService.DiscoveredDevice discoveredDevice) {
        this.discoveredDevice = discoveredDevice;
    }
    
    public String getUsername() {
        return username;
    }
    
    public void setUsername(String username) {
        this.username = username;
    }
    
    public String getPassword() {
        return password;
    }
    
    public void setPassword(String password) {
        this.password = password;
    }
    
    public String getCustomName() {
        return customName;
    }
    
    public void setCustomName(String customName) {
        this.customName = customName;
    }
    
    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getIpAddress() {
        return ipAddress;
    }
    
    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }
    
    public Integer getPort() {
        return port;
    }
    
    public void setPort(Integer port) {
        this.port = port;
    }
    
    public String getManufacturer() {
        return manufacturer;
    }
    
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }
    
    public String getModel() {
        return model;
    }
    
    public void setModel(String model) {
        this.model = model;
    }
}